perm filename FPRINT.TIM[TIM,LSP]8 blob sn#747495 filedate 1984-03-19 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00009 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 SAIL
C00004 00003	 Fprint
C00005 00004	 NIL
C00008 00005	 Franz
C00016 00006	 SCORE Dec 12, 1983
C00017 00007	 DEC780CL
C00018 00008	 InterLisp Vax 780
C00019 00009	 PSL-20
C00020 ENDMK
CāŠ—;
;;; SAIL

(fasload fprint)
(timit)
Timing performed on Monday 09/13/82 at 11:56:15.
Cpu Time = 0.901
Elapsed Time = 3.53333333
Wholine Time = 1.83333333
GC Time = 0.0
Load Average Before  = 2.06104112
Load Average After   = 2.0700469
Average Load Average = 2.065544
NIL 
Timing performed on Monday 09/13/82 at 11:56:23.
Cpu Time = 0.897
Elapsed Time = 4.55
Wholine Time = 1.8
GC Time = 0.0
Load Average Before  = 2.02221072
Load Average After   = 2.00235736
Average Load Average = 2.01228404
NIL 
Timing performed on Monday 09/13/82 at 11:56:31.
Cpu Time = 0.888
Elapsed Time = 6.5
Wholine Time = 2.5
GC Time = 0.475
Load Average Before  = 1.99930274
Load Average After   = 1.97900426
Average Load Average = 1.9891535
NIL 
;;; New SAIL (RPO7)
Timing performed on Wednesday 10/12/83 at 23:26:18.
Cpu (- GC) Time = 0.78
Elapsed Time = 9.1833333
Wholine Time = 1.31666666
GC Time = 0.402
Load Average Before  = 1.54794335
Load Average After   = 1.60265815
Average Load Average = 1.57530075
NIL 
;;; Fprint

D3
7/5/83
Local disk
Elapsed	2.93
Dsk io	1.15
CPU	1.78
dskops	186

D2
7/5/83
Local disk, without interrupts
Elapsed	14.9
Swap	2.56
Dsk io	2.63
CPU	9.7
pgflts	101
dskops	222

D1
1/25/84 with interrupts local disk, Shugart
Elapsed	13.7
CPU	13.3
GC	  .4
;;; NIL
FPRINT

Fixnum arithmetic.

Hmmm.  I think i may have just found a bug in the charpos-manipulator
mixin for output streams which causes it, when the charpos exceeds
the line length (default 80), to go searching hopelessly for a
line-wrap method.  At the same time not resetting the charpos (after
all, the line did not wrap), so doing this on every character after
number 79.

I should add there is a sort of bug in benchmarking i/o in this manner
anyway for systems which do record i/o, line-oriented.  If you give
super-long lines then it has to keep expanding the buffer, so you are
measuring that, rather than the i/o as it would "normally" occur.

In NIL this does not occur, because I have not upgraded the primitive
disk i/o support above the early primitives written in bliss.  They
don't handle records longer than 512 bytes, so cheat by just writing
them out, and on reading, cheat by saying that if the record is
exactly 512 bytes long, then we don't insert the implicit newline at
the end of it.  So for NIL at least read/print/read  holds, i hope, as
i go to try FREAD...

So for whatever it is worth, the time for this was
cpu=131.93,elapsed=133.11,pagefaults=167
but i would not quote it.

Fixing the bug (it is a patch in the current distribution), we get:
cpu=37.92,elapsed=38.97,pagefaults=144
cpu=37.65,elapsed=38.23,pagefaults=4

NIL file i/o is yet another thing which is going to be replaced
totally.  I believe i will be eliminating one Lisp function call and
maybe one other VAX procedure call per character output.
;;; Franz
āˆ‚09-Oct-83  1122	jkf@ucbkim 	fprint  
Received: from UCBKIM by SU-AI with TCP/SMTP; 9 Oct 83  11:22:05 PDT
Received: by ucbkim.ARPA (4.6/4.2)
	id AA18823; Sun, 9 Oct 83 11:25:33 PDT
Date: Sun, 9 Oct 83 11:25:33 PDT
From: John Foderaro (on an h19-u) <jkf@ucbkim>
Message-Id: <8310091825.AA18823@ucbkim.ARPA>
To: rpg@su-ai
Subject: fprint
Cc: 

--- Benchmark fprint run on lbl-csam at Sun Oct 9 11:06:21 PDT 1983 by jkf
--- cpu usage: 11:06am up 2 days, 2:58, 2 users, load average: 1.15, 1.29, 1.28
Franz Lisp, Opus 38.81
-> [fasl fprint.o]
t
-> benchmark: test (file fprint) , tranlinks: on, localf: no
executing form: (fprint)
begin (68 179)
end (254 179)
runs 5
avg cpu time 0.62

benchmark: test (file fprint) , tranlinks: off, localf: no
executing form: (fprint)
begin (255 179)
end (445 179)
runs 5
avg cpu time 0.6333333333333333

nil
-> Franz Lisp, Opus 38.81
-> [fasl fprint-l.o]
t
-> benchmark: test (file fprint) , tranlinks: on, localf: yes
executing form: (fprint)
begin (57 182)
end (245 182)
runs 5
avg cpu time 0.6266666666666667

benchmark: test (file fprint) , tranlinks: off, localf: yes
executing form: (fprint)
begin (247 182)
end (439 182)
runs 5
avg cpu time 0.64

nil
-> Franz Lisp, Opus 38.81
-> [load fprint.l]
[fasl benchmac.o]
t
-> benchmark: test (file fprint) , tranlinks: on, interpreted 
executing form: (fprint)
begin (970 664)
end (1160 664)
runs 5
avg cpu time 0.6333333333333333

benchmark: test (file fprint) , tranlinks: off, interpreted 
executing form: (fprint)
begin (1163 664)
end (1359 664)
runs 5
avg cpu time 0.6533333333333333

nil
-> --- cpu usage: 11:07am up 2 days, 2:59, 2 users, load average: 1.15, 1.27, 1.27
--- end of benchmark fprint


--- Benchmark fprint run on ucbmatisse at Sun Oct 9 11:10:16 PDT 1983 by jkf
--- cpu usage: 11:10am up 1 day, 19:39, 3 users, load average: 1.47, 1.28, 1.14
Franz Lisp, Opus 38.81

=> [fasl fprint.o]
t
=> benchmark: test (file fprint) , tranlinks: on, localf: no
executing form: (fprint)
begin (155 208)
end (492 208)
runs 5
avg cpu time 1.123333333333333

benchmark: test (file fprint) , tranlinks: off, localf: no
executing form: (fprint)
begin (496 208)
end (817 208)
runs 5
avg cpu time 1.07

nil
=> Franz Lisp, Opus 38.81

=> [fasl fprint-l.o]
t
=> benchmark: test (file fprint) , tranlinks: on, localf: yes
executing form: (fprint)
begin (147 206)
end (480 206)
runs 5
avg cpu time 1.11

benchmark: test (file fprint) , tranlinks: off, localf: yes
executing form: (fprint)
begin (482 206)
end (813 206)
runs 5
avg cpu time 1.103333333333333

nil
=> Franz Lisp, Opus 38.81

=> [load fprint.l]
[fasl benchmac.o]
t
=> benchmark: test (file fprint) , tranlinks: on, interpreted 
executing form: (fprint)
begin (1522 874)
end (1853 874)
runs 5
avg cpu time 1.103333333333333

benchmark: test (file fprint) , tranlinks: off, interpreted 
executing form: (fprint)
begin (1856 874)
end (2182 874)
runs 5
avg cpu time 1.086666666666667

nil
=> --- cpu usage: 11:12am up 1 day, 19:40, 3 users, load average: 1.29, 1.28, 1.15
--- end of benchmark fprint


--- Benchmark fprint run on ucbmike at Sun Oct 9 10:52:39 PDT 1983 by jkf
--- cpu usage: 10:52am up 2 days, 1:24, 2 users, load average: 1.01, 1.01, 1.00
Franz Lisp, Opus 38.79
-> [fasl fprint.o]
t
-> benchmark: test (file fprint) , tranlinks: on, localf: no
executing form: (fprint)
begin (143 341)
end (571 341)
runs 5
avg cpu time 1.426666666666667

benchmark: test (file fprint) , tranlinks: off, localf: no
executing form: (fprint)
begin (573 341)
end (1000 341)
runs 5
avg cpu time 1.423333333333333

nil
-> Franz Lisp, Opus 38.79
-> [fasl fprint-l.o]
t
-> benchmark: test (file fprint) , tranlinks: on, localf: yes
executing form: (fprint)
begin (120 341)
end (547 341)
runs 5
avg cpu time 1.423333333333333

benchmark: test (file fprint) , tranlinks: off, localf: yes
executing form: (fprint)
begin (551 341)
end (979 341)
runs 5
avg cpu time 1.426666666666667

nil
-> Franz Lisp, Opus 38.79
-> [load fprint.l]
[fasl benchmac.o]
t
-> benchmark: test (file fprint) , tranlinks: on, interpreted 
executing form: (fprint)
begin (729 412)
end (1155 412)
runs 5
avg cpu time 1.42

benchmark: test (file fprint) , tranlinks: off, interpreted 
executing form: (fprint)
begin (1160 412)
end (1589 412)
runs 5
avg cpu time 1.43

nil
-> --- cpu usage: 10:54am up 2 days, 1:26, 2 users, load average: 1.08, 1.05, 1.02
--- end of benchmark fprint


;;; SCORE Dec 12, 1983

not block compiled

4.451 seconds
0.0 gc

;;; DEC780CL

	cpu + probability x gc

FPRINT	21
;;; InterLisp Vax 780

FPRINT:
←(TIME (FPRINT]
222 conses
0.752 seconds
/lisp/rbates/lisp/dick/FPRINT.TST;1
;;; PSL-20

 4:06:25 USER	Fprint Test
 4:06:25 USER	"Fprint Test"
 4:06:25 USER	
 4:06:25 USER	Timing performed on DEC-20
 4:06:25 USER	11-Mar-84 04:06:25 .
 4:06:25 USER	*** Garbage collection starting
 4:06:27 USER	*** GC 3: time 1050 ms, 25073 recovered, 249062 free
 4:06:32 USER	
 4:06:32 USER	Cpu (- GC) Time = 4.665 secs
 4:06:32 USER	Elapsed Time = 5.0 secs
 4:06:32 USER	Wholine Time = 0.0
 4:06:32 USER	GC Time = 0.0 secs
 4:06:32 USER	Load Average Before  = 1.3
 4:06:32 USER	Load Average After   = 1.3
 4:06:32 USER	Average Load Average = 1.3